package org.loginplugin;

import org.apache.ibatis.session.SqlSession;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.java.JavaPlugin;
import org.loginplugin.config.SqlSessionConfig;
import org.loginplugin.mapper.UserMapper;

import java.io.File;
import java.util.List;
import java.util.Objects;

public final class LoginPlugin extends JavaPlugin {

    public static JavaPlugin instance;

    public static FileConfiguration FILE_CONFING;

    public static SqlSession SQL_SESSION;

    @Override
    public void onEnable() {
        UserMapper userMapper = SQL_SESSION.getMapper(UserMapper.class);

        System.out.println(userMapper.selectList(null));

        Bukkit.getPluginManager().registerEvents(new EventProcessor(), this);
        // 注册事件处理器，这里必须实例化，this 表明注册到本插件上
        Objects.requireNonNull(Bukkit.getPluginCommand("login")).setExecutor(new Commander());
        // 注册事件处理器，也要实例化，requireNonNull 是不必要的，但是万一插件损坏了或者 Bukkit 出错了，我们还能知道是这里出问题
        instance = this;

//        getLogger().info("Hello, world!");

    }


    @Override
    public void onLoad() {
        //保存默认配置文件
        saveDefaultConfig();
        FILE_CONFING = getConfig();
        SQL_SESSION = SqlSessionConfig.session;
    }

    @Override
    public void onDisable() {
        saveConfig();
    }
}
